The invention relates to remotely monitoring execution of a program.
In the development of an application program, the behavior of the program may be monitored to both debug the program and evaluate a performance (an execution speed, for example) of the program. For example, the execution of the program (by a microprocessor) may be closely monitored to detect errors, or "bugs," in the program. This monitoring, often referred to as "debugging," may include examining the contents of a region in memory called a workspace that stores temporary and continually changing data for the program. As examples, the workspace may store data for tables and symbols and may serve as a "scratch pad" for the program.
By monitoring the data stored in the workspace, errors in the program may be detected, as the actual data in the workspace may be compared to predetermined data, for example. However, the methodology used to monitor the program may affect the execution of the program itself and thus, may not be an accurate indicator of the program's behavior. For example, for a multitasking environment, a debugger program may be one task that is executed by the microprocessor to monitor the execution of an application program that is a separate task. In this manner, the debugger program may consume resources (memory space, bus bandwidth and processor time, as examples) of the computer which may affect the execution of the application program. Therefore, the debugger program may not, under these circumstances, be used to accurately evaluate the application program's behavior.
Thus, there is a continuing need for an arrangement to monitor the execution of a program while minimally affecting the behavior of the program.